<?php
/**
 * Description of conexionMysql
 * Esta Clase permitira el acceso y manejo de las consultas a la BD
 * @author fisc
 */
class conexionMysql {
    var $servidor = "localhost";    
    var $basedatos = "cfpljmyz_g2u";
    var $usuario = "cfpljmyz_g2u";
    var $clave = "cfpljmyz_g2u";
    var $link="";
    
    
   /**
    * Esta funcion realizara la conexion a la BD
    */
    function ConectarBD(){
        if(!($this->link=mysql_connect($this->servidor, $this->usuario, $this->clave))){
            echo "Error conectando a la BD";
            exit();
        }        
        if(!mysql_select_db($this->basedatos, $this->link)){
            echo "Error seleccionando la BD";
            exit();
        }        
        mysql_query(" SET NAMES 'utf8' ", $this->link);        
    }        
    
    /*
     * Esta function cerrara la conexion con el Servidor de BD
     */
    function DesconectarBD(){
        mysql_close($this->link);
    }
    
    /**
     * Esta Funcion ejecuta QUERY del tipo UPDATE, INSERT, DELETE
     * @param type $query      
     * @author Juan Carbonel
     */
    function EjecutarQuery($query){
        if(!mysql_query($query, $this->link)){
            $this->MuestraError();    
            return false;
        }else{            
            return true;
        }
    }
    
    /**
     * Esta funcion Ejecutara QUERYS del Tipo SELECT
     * @param type $query
     * @return type Arreglo de Datos
     */
    function ObtenerData($query){

        if(!($rs=mysql_query($query, $this->link))){
            $this->MuestraError();           
        }else{
            while ($fila = mysql_fetch_array($rs)) {
                $datos[] = $fila;
            }
            return $datos;
        }
        
    }
        
    /**
     * Esta funcion Ejecutara QUERYS del Tipo SELECT y devolvera un tipo RESOURCE
     * @param type $query
     * @return type Arreglo de Datos
     */
    function ObtenerDataEnRecurso($query){

        if(!($rs=mysql_query($query, $this->link))){
            $this->MuestraError();           
        }else{
//            while ($fila = mysql_fetch_assoc($rs)) {
//                $datos[] = $fila;
//            }
            return $rs;
        }
        
    }    
    
    /**
     * Esta funcion mostrara el error de la sentencia
     */
    function MuestraError(){
        echo mysql_errno($this->link)." ::: ".mysql_error($this->link);
    }
    
    /**
     * Obtiene los un arreglo de la BD con Tablas y atributos
     */
    function ObtenerObjetoBD(){
        /////OBTENEMOS LAS TABLAS DESDE BD
        $rs = null;
        $fila = null;
        $this->ConectarBD();
        $link=$this->link;
        $rs = mysql_query("SHOW TABLES;", $link);
        $tables = array();
        if (is_resource($rs)){
            while($fila = mysql_fetch_array($rs)){
                $tables[$fila[0]]= $fila[0];
            }
        } else {
            die ("LA BD NO TIENE TABLAS");
        }

        foreach ($tables as $key => $value) {
            $fila = null;

            $rs = mysql_query("DESC $value;", $link);
            $campos = array();

            while($fila = mysql_fetch_array($rs)){
                $campos[$fila[0]]= $fila[0];
            }
            $tables[$key]= $campos;
        }
        $this->DesconectarBD();
        return $tables;
    }    
}
?>